package com.ucar.train.service;

import com.ucar.train.dto.MenuDTO;
import com.ucar.train.dto.RoleAndMenuDTO;
import com.ucar.train.dto.RoleDTO;
import com.ucar.train.vo.Role;

import java.math.BigInteger;
import java.util.List;
import java.util.Map;

public interface RoleService {
     /**
       *显示用户的菜单
       * @author zjm
       * @param null
       * @return List<RoleDTO>
       */
    List<RoleDTO> getRoleList(Integer page, Integer pageSize,String orderBy);
     /**
       *给角色添加权限
       * @author zjm
       * @param rid
       * @param mid
       * @return null
       */
    void addMenuToRole(Long rid, Long mid);

     /**
       *为角色修改权限
       * @author zjm
       * @param rid
       * @param mid
       * @return null
       */
    void updateRoleAndMenu(Long rid, Long mid);

     /**
       *给角色删除权限
       * @author zjm
       * @param rid
       * @param mid
       * @return null
       */
    void deleteMenuForRole(Long rid, Long mid);

     /**
       *删除角色
       * @author zjm
       * @param rid
       * @return null
       */
     void deleteRole(Long rid);

      /**
        *添加角色
        * @author zjm
        * @param role
        * @return null
        */
     void addRole(Role role, String createOperator);

      /**
        *更新角色信息
        * @author zjm
        * @param role
        * @return null
        */
     void updateRole(Role role, String modifyOperator);

     List<RoleAndMenuDTO> getRoleAndMenu();

     RoleDTO getRoleById(Long id);

     List<MenuDTO> selectPermission(Long id);

     List<RoleDTO> getByGroupId(Long groupId);

//     void sendEmail();
    List<RoleDTO> getNoPermission();
}
